<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>配置项axisPointer:坐标轴指示器</title>
  <script src="./echarts.js"></script>
  <style lang="css">
    #chart1 {
      width: 1000px;
      height: 800px;
      /* border: 1px solid red; */
      float: left;
    }
  </style>
</head>
<body>
  <div id="chart1"></div>

  <script>
    const colors = ['#5470C6', '#91CC75', '#EE6666'];
    const myChart1 = echarts.init(document.getElementById('chart1'));

    myChart1.setOption({
      color: colors,
      legend: {},
      grid: {
        right: '20%',
      },
      tooltip: {
        // trigger: 'axis',
        /* tooltip中的axisPointer
        axisPointer: {
          axis: 'x', // x/y/auto/rangle/radius
          snap: false, // 坐标轴指示器是否自动吸附到点上, 目前设置成false也不管用
          z: 1, // 目前可能默认值是2，设置成1，阴影就不会盖住柱子了
          label: {
            show: true,
            formatter: '{value}~',
            formatter (params) {
              return params.value + '~~'
            }
          },
          // type: 'line', // line/shadow/cross/none
          lineStyle: {
            color: 'hotpink',
            type: 'dashed',
            width: 5
          },
          type: 'cross',
          crossStyle: {
            color: 'hotpink',
            type: 'dashed',
            width: 5
          }
        } */
      },
      axisPointer: { // 坐标轴指示器，坐标轴触发有效
        show: true,
        type: 'line', // 默认为直线，可选为：'line' | 'shadow'
        snap: false, // 坐标轴指示器是否自动吸附到点上
        value: 182.2, // 和下面的status配合使用
        status: 'show',
        handle: {
          show: true,
          size: 30,
          color: 'rgba(0, 0, 0, 0.2)',
          shadowColor: 'rgba(0, 0, 0, 0.5)',
          shadowBlur: 0,
        }
      },
      xAxis: {
        type: 'category', // 如果data像下面这样的类目数据，不需要指定type=category也行
        data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
        axisTick: {
          alignWithLabel: true,
        },
        // axisPointer: { // 坐标轴指示器，坐标轴触发有效
        //   show: true,
        //   type: 'line', // 默认为直线，可选为：'line' | 'shadow'
        //   snap: true, // 坐标轴指示器是否自动吸附到点上
        // },
      },
      yAxis: [
        {
          name: '蒸发量',
          position: 'right',
          min: 0,
          max: 260,
          axisLabel: {
            formatter: '{value} ml',
          },
          axisLine: {
            lineStyle: {
              color: colors[0]
            }
          },
          // axisPointer: { // 坐标轴指示器，坐标轴触发有效
          //   show: true,
          //   type: 'line', // 默认为直线，可选为：'line' | 'shadow'
          //   snap: true, // 坐标轴指示器是否自动吸附到点上
          // },
        },
        {
          name: '降水量',
          position: 'right',
          offset: 80,
          min: 0,
          max: 250,
          axisLabel: {
            formatter: '{value} ml',
          },
          axisLine: {
            lineStyle: {
              color: colors[1]
            }
          }
        },
        {
          name: '温度',
          min: 0,
          max: 25,
          axisLabel: {
            formatter: '{value} °C',
          },
          axisLine: {
            lineStyle: {
              color: colors[2]
            }
          }
        },
      ],
      series: [
        {
          name: '蒸发量',
          type: 'bar',
          yAxisIndex: 0,
          data: [
            2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3
          ]
        },
        {
          name: '降水量',
          type: 'bar',
          yAxisIndex: 1,
          data: [
            2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3
          ]
        },
        {
          name: '温度',
          type: 'line',
          yAxisIndex: 2,
          data: [2.0, 2.2, 3.3, 4.5, 6.3, 10.2, 20.3, 23.4, 23.0, 16.5, 12.0, 6.2]
        },
      ]
    })
  </script>
</body>
</html>